package com.smedi.ismedi.constructionproject.core.application.query;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.smedi.ismedi.constructionproject.core.application.command.ProjectApplyOneQuery;
import com.smedi.ismedi.constructionproject.core.domain.aggregatemodel.ProjectApply;
import com.smedi.ismedi.constructionproject.core.domain.aggregatemodel.ProjectApplyListQuery;
import com.smedi.ismedi.constructionproject.core.domain.aggregatemodel.ProjectApplyPageQuery;

import java.util.List;

/**
 * @Author: xulinjun
 * @Date: 2021-6-21 10:25
 */
public interface ProjectApplyQueryService {

    /**
     * 查询 项目申请 单一
     *
     * @param projectApplyOneQuery 查询 单一 命令
     * @return ProjectApply
     */
    ProjectApply getProjectApplyOne(ProjectApplyOneQuery projectApplyOneQuery);


    /**
     * 查询 项目申请 列表
     *
     * @param projectApplyListQuery 查询 列表 命令
     * @return ProjectApply
     */
    List<ProjectApply> getProjectApplyList(ProjectApplyListQuery projectApplyListQuery);

    /**
     * 查询 项目申请 列表
     *
     * @param projectApplyPageQuery 查询 列表 命令
     * @return ProjectApply
     */
    Page<ProjectApply> getProjectApplyPage(ProjectApplyPageQuery projectApplyPageQuery);

    Boolean restoreProject(Long projectId);
}
